import axios from 'axios'
import store from '@/store'
// 创建axios实例
const service = axios.create({
  // baseURL: process.env.BASE_API, // api的base_url
  baseURL: 'http://mockjs.com/api', // 测试数据用
  timeout: 5000, // 请求超时时间
})
// request拦截器
service.interceptors.request.use(config => {
  if (store.getters.token) {
    config.headers['Authorization'] = 'Bearer ' + store.getters.token
  }
  return config
}, error => {
  console.log(error) // for debug
  Promise.reject(error)
})

// respone拦截器
service.interceptors.response.use(
  response => {
    const token = response.headers.authorization
    if (token) {
      // 如果 header 中存在 token，那么触发 refreshToken 方法，替换本地的 token
      this.$store.commit('setToken', token)
    }
    return response
  },
  error => {
    console.log(error)
    // 显示信息
    return Promise.reject(error)
  })

export default service
